home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 17 / AMIGAplus Sonderheft 17 (1999)(ICP)(DE)[!].iso / libs / ifflib.doc < prev    next >
Text File  |  1993-05-24  |  19KB  |  638 lines

  1. TABLE OF CONTENTS
  2.  
  3. iff.library/IFFL_CloseIFF
  4. iff.library/IFFL_CompressBlock
  5. iff.library/IFFL_DecodePic
  6. iff.library/IFFL_DecompressBlock
  7. iff.library/IFFL_FindChunk
  8. iff.library/IFFL_GetBMHD
  9. iff.library/IFFL_GetColorTab
  10. iff.library/IFFL_GetViewModes
  11. iff.library/IFFL_IFFError
  12. iff.library/IFFL_ModifyFrame
  13. iff.library/IFFL_OpenIFF
  14. iff.library/IFFL_PopChunk
  15. iff.library/IFFL_PushChunk
  16. iff.library/IFFL_SaveBitMap
  17. iff.library/IFFL_SaveClip
  18. iff.library/IFFL_WriteChunkBytes
  19. iff.library/NewOpenIFF
  20. iff.library/OpenIFF
  21. iff.library/IFFL_CloseIFF                           iff.library/IFFL_CloseIFF
  22.  
  23.     NAME
  24.     IFFL_CloseIFF -- Close an IFF file and deallocate buffers
  25.  
  26.     SYNOPSIS
  27.     IFFL_CloseIFF( iff )
  28.                    A1
  29.  
  30.     void IFFL_CloseIFF( IFFL_HANDLE )
  31.  
  32.     FUNCTION
  33.     Returns the memory previously allocated by IFFL_OpenIFF().
  34.  
  35.     INPUTS
  36.     iff - IFF file handle, from IFFL_OpenIFF()
  37.  
  38.     RESULTS
  39.     For now, always results TRUE (this may change in the future).
  40.  
  41.     SEE ALSO
  42.     IFFL_OpenIFF()
  43.  
  44. iff.library/IFFL_CompressBlock                 iff.library/IFFL_CompressBlock
  45.  
  46.     NAME
  47.     IFFL_CompressBlock -- Compress a memory block
  48.  
  49.     SYNOPSIS
  50.     result = IFFL_CompressBlock( source, destination, size, mode )
  51.                                    A0      A1           D0    D1
  52.  
  53.     ULONG IFFL_CompressBlock( APTR, APTR, ULONG, ULONG )
  54.  
  55.     FUNCTION
  56.     Compress the memory block using the appropriate compression mode.
  57.     If the compressed data would become longer than the uncompressed,
  58.     an error is returned.
  59.  
  60.     INPUTS
  61.     source      - Pointer to data to compress
  62.     destination - Target address for compression
  63.     size        - Number of data bytes to compress
  64.     mode        - Compression mode. Currently, the following modes
  65.                   are supported:
  66.  
  67.                   IFFL_COMPR_NONE     - Vanilla copy
  68.                   IFFL_COMPR_BYTERUN1 - CmpByteRun1 (ILBM BODY data)
  69.                   IFFL_COMPR_FIBDELTA - Fibonacci Delta (8SVX BODY data)
  70.  
  71.     RESULTS
  72.     Length of compressed data or 0 if an error occurred.
  73.     IFFL_IFFError() returns IFFL_ERROR_BADCOMPRESSION if you ask for
  74.     an unsupported compression mode.
  75.  
  76.    BUGS
  77.     In IFFL_COMPR_BYTERUN1, if the compressed data would become longer,
  78.     the buffer will be overwritten, and no error is returned. So be
  79.     sure to supply a destination buffer which is big enough!
  80.  
  81.     SEE ALSO
  82.     IFFL_DecompressBlock()
  83.  
  84. iff.library/IFFL_DecodePic                         iff.library/IFFL_DecodePic
  85.  
  86.     NAME
  87.     IFFL_DecodePic -- decode the BODY of an ILBM file into a BitMap
  88.  
  89.     SYNOPSIS
  90.     success = IFFL_DecodePic( iff, bitmap )
  91.      D0                       A1   A0
  92.  
  93.     BOOL IFFL_DecodePic( IFFL_HANDLE, struct BitMap * )
  94.  
  95.     FUNCTION
  96.     Decodes and decompresses a picture into the user supplied BitMap.
  97.     If the picture is higher than your BitMap, it will be truncated.
  98.     If your BitMap is larger than the picture, the picture will be
  99.     drawn into the top left corner of your BitMap.
  100.     If the picture has less planes than the BitMap, the unused planes
  101.     are NOT touched by this routine, so you may wish to clear them
  102.     before calling IFFL_DecodePic(). If the picture has more planes
  103.     than your BitMap, the surplus planes of the picture are ignored.
  104.  
  105.     INPUTS
  106.     iff    - IFF file handle, from IFFL_OpenIFF()
  107.     bitmap - Pointer to a properly initialized BitMap structure:
  108.          bm_Planes[] must point to valid BitPlanes,
  109.          bm_Depth contains the number of planes.
  110.          bm_Width and bm_Height must be set according to the
  111.          size of your bit planes.
  112.  
  113.     RESULTS
  114.     Non-zero if successful, zero if error. Call IFFL_IFFError() to
  115.     know the reason of the failure
  116.  
  117.     BUGS
  118.     If the picture is wider than your BitMap, one line of innocent
  119.     memory will be overwritten at the end of each bitplane. You can
  120.     avoid this by allocating a few bytes more for each plane.
  121.     Normally, you allocate your BitMap after inspecting the BMHD
  122.     chunk, so this should not be a problem.
  123.  
  124.     NOTE
  125.     This routine needs at least 650 bytes of stack space
  126.  
  127.     SEE ALSO
  128.  
  129. iff.library/IFFL_DecompressBlock             iff.library/IFFL_DecompressBlock
  130.  
  131.     NAME
  132.     IFFL_DecompressBlock -- Decompress a memory block
  133.  
  134.     SYNOPSIS
  135.     result = IFFL_DecompressBlock( source, destination, size, mode )
  136.                                    A0      A1           D0    D1
  137.  
  138.     ULONG IFFL_DecompressBlock( APTR, APTR, ULONG, ULONG )
  139.  
  140.     FUNCTION
  141.     Decompress the memory block using the appropriate Decompression mode.
  142.     If the Decompressed data would become longer than the unDecompressed,
  143.     an error is returned.
  144.  
  145.     INPUTS
  146.     source      - Pointer to data to decompress
  147.     destination - Target address for decompression
  148.     size        - Number of _DECOMPRESSED_ data bytes
  149.     mode        - Compression mode. Currently, the following modes
  150.                   are supported:
  151.  
  152.                   IFFL_COMPR_NONE     - Vanilla copy
  153.                   IFFL_COMPR_BYTERUN1 - CmpByteRun1 (ILBM BODY data)
  154.                   IFFL_COMPR_FIBDELTA - Fibonacci Delta (8SVX BODY data)
  155.  
  156.     RESULTS
  157.     Length of uncompressed data or 0 if an error occurred.
  158.     IFFL_IFFError() returns IFFL_ERROR_BADCOMPRESSION if you ask for
  159.     an unsupported compression mode.
  160.  
  161.     SEE ALSO
  162.     IFFL_CompressBlock()
  163.  
  164. iff.library/IFFL_FindChunk                         iff.library/IFFL_FindChunk
  165.  
  166.    NAME
  167.     IFFL_FindChunk -- find an IFF-chunk
  168.  
  169.    SYNOPSIS
  170.     chunk = IFFL_FindChunk( iff, chunkname )
  171.     D0                      A1   D0
  172.  
  173.     APTR IFFL_FindChunk( IFFL_HANDLE, ULONG )
  174.  
  175.    FUNCTION
  176.     Find a specific chunk in an IFF file
  177.  
  178.    INPUTS
  179.     iff       - IFF file handle, from IFFL_OpenIFF()
  180.     chunkname - 4 characters packed ASCII ('BODY', 'VHDR' ...)
  181.                 if chunkname is 0, FindChunk() returns a pointer to the
  182.                 first byte after the end of the current FORM. This can
  183.                 be used by ANIM readers for jumping from FORM to FORM.
  184.  
  185.    RESULTS
  186.     Pointer to the beginning of the chunk (that means to the chunk
  187.     name itself, followed by the chunk size); zero if chunk not found
  188.  
  189.    BUGS
  190.     none known
  191.  
  192.    SEE ALSO
  193.     IFFL_GetBMHD(), IFFL_GetColorTab()
  194.  
  195. iff.library/IFFL_GetBMHD                             iff.library/IFFL_GetBMHD
  196.  
  197.     NAME
  198.     IFFL_GetBMHD -- find a BitMapHeader of an IFF-file
  199.  
  200.     SYNOPSIS
  201.     header = IFFL_GetBMHD( iff )
  202.     D0                     A1
  203.  
  204.     struct BitMapHeader *IFFL_GetBMHD( IFFL_HANDLE )
  205.  
  206.     FUNCTION
  207.     Returns a pointer to a BMHD (BitMapHeader) structure as defined
  208.     in iff.h and iff.i
  209.  
  210.     INPUTS
  211.     iff - IFF file handle, from IFFL_OpenIFF()
  212.  
  213.     RESULTS
  214.     Pointer to the BitMapHeader, or NULL if no BMHD chunk found
  215.  
  216.     SEE ALSO
  217.     IFFL_FindChunk(), IFFL_GetColorTab()
  218.  
  219. iff.library/IFFL_GetColorTab                     iff.library/IFFL_GetColorTab
  220.  
  221.     NAME
  222.     IFFL_GetColorTab -- find a CMAP and convert it to a ColorTable
  223.  
  224.     SYNOPSIS
  225.     count = IFFL_GetColorTab( iff, colortable )
  226.     D0                        A1   A0
  227.  
  228.     LONG IFFFL_GetColorTab( IFF_HANDLE, UWORD * )
  229.  
  230.     FUNCTION
  231.     Searches the CMAP chunk of an IFF file and converts it, if it's
  232.     there, to an Amiga color table structure. This colortable can
  233.     directly be used as a parameter for the LoadRGB4() function.
  234.  
  235.     INPUTS
  236.     iff        - IFF file handle, from IFFL_OpenIFF()
  237.     colortable - Pointer to a block of memory which must be large
  238.                  enough to hold the colortable (2 bytes per color).
  239.                  Must be WORD aligned.
  240.  
  241.     RESULT
  242.     Number of colors actually found, or zero if the file has no
  243.     CMAP chunk
  244.  
  245.     SEE ALSO
  246.     IFFL_FindChunk(), IFFL_GetBMHD()
  247.  
  248. iff.library/IFFL_GetViewModes                   iff.library/IFFL_GetViewModes
  249.  
  250.     NAME
  251.     IFFL_GetViewModes() -- Get Amiga-specific ViewModes
  252.  
  253.     SYNOPSIS
  254.     viewmodes = IFFL_GetViewModes( iff )
  255.     D0                             A1
  256.  
  257.     ULONG IFFL_GetViewModes( IFFL_HANDLE )
  258.  
  259.     FUNCTION
  260.     Searches the IFF file for a 'CAMG' chunk which holds the view modes
  261.     information. If there is no CAMG chunk, the view modes are calcu-
  262.     lated using the information in the BitMapHeader structure.
  263.     You can directly put the low WORD of the result of a call to
  264.     IFFL_ GetViewModes() into the ns_ViewModes field of a NewScreen
  265.     structure, or you can use the whole ULONG for the SA_DisplayID tag
  266.     under OS 2.x.
  267.  
  268.     INPUTS
  269.     iff - IFF file handle, from OpenIFF()
  270.  
  271.     RESULT
  272.     viewmodes - ULONG containing the view modes (HAM, LACE, HIRES ...)
  273.     All forbidden bits are masked out, as suggested by CBM.
  274.     Under Kickstart V1.3, only the lower WORD is used.
  275.  
  276.     BUGS
  277.     If the IFF file has no CAMG chunk and 6 bitplanes, the HAM bit
  278.     will be set. This is not always correct since the picture could
  279.     be in the Extra Halfbrite mode. You can load such Halfbrite
  280.     pictures into DPaint III and save them again, DPaint will generate
  281.     the correct CAMG chunk.
  282.  
  283.     SEE ALSO
  284.     <graphics/displayinfo.h>
  285.  
  286. iff.library/IFFL_IFFError                           iff.library/IFFL_IFFError
  287.  
  288.     NAME
  289.     IFFL_IFFError -- Get detailed error descrpition after an error
  290.  
  291.     SYNOPSIS
  292.     error = IFFL_IFFError()
  293.     D0
  294.  
  295.     LONG IFFL_IFFError( VOID )
  296.  
  297.     FUNCTION
  298.     If one of the iff.library functions returns zero, you can call
  299.     IFFL_IFFError() to know the reason for the failure. An error
  300.     code is returned, please refer to the files 'iff.h' or 'iff.i'
  301.     for the complete list of errors.
  302.  
  303.     INPUTS
  304.     none
  305.  
  306.     RESULT
  307.     Error-number generated by the latest function call, or zero if
  308.     no error.
  309.  
  310.     BUGS
  311.     If you don't close the IFF library at the end of your program
  312.     (using CloseLibrary()) the error node will not be freed. The
  313.     same task will then not be able to re-open the iff.library.
  314.     (This is not a bug, it's a feature ;-))
  315.  
  316.     SEE ALSO
  317.     <iff.h>
  318.  
  319. iff.library/IFFL_ModifyFrame                     iff.library/IFFL_ModifyFrame
  320.  
  321.     NAME
  322.     IFFL_ModifyFrame -- Modify an anim frame using a DLTA chunk
  323.  
  324.     SYNOPSIS
  325.     success = IFFL_ModifyFrame( modifyform, bitmap )
  326.     D0                          A1          A0
  327.  
  328.     BOOL IFFL_ModifyFrame( VOID *, struct BitMap * )
  329.  
  330.     FUNCTION
  331.     Uses the DLTA chunk of the supplied FORM to modify the planes-data
  332.     of the bitmap. Usually, playback of ANIMs will require two buffers,
  333.     and double-buffering between them. So the data in the bitmap must
  334.     be two frames back, and the DLTA chunk is used to modify the hidden
  335.     frame to the next frame to be shown.
  336.  
  337.     INPUTS
  338.     modifyform - pointer to the FORM containing the actual DLTA chunk
  339.     bitmap     - Pointer to a properly initialized BitMap structure,
  340.              the planes must contain the image which was displayed
  341.              to frames back (using double-buffering)
  342.  
  343.     RESULT
  344.     Non-zero if OK, 0 if error; call IFFL_IFFError() to know the reason
  345.     of the failure
  346.  
  347.     RESTRICTIONS
  348.     Currently, only compression type 5 (Byte Vertical Delta Mode) is
  349.     implemented. If you have animations which use modes 1 to 4, try
  350.     loading them with DPaint III and saving them again.
  351.     Sculpt-Animate ('J' type ANIM, Movie format) support will be
  352.     added soon.
  353.     I will implement some more compression types upon request.
  354.  
  355.     NOTE
  356.     This routine needs at least 820 bytes of stack.
  357.     The size of the bitmap is not checked by this routine, the planes
  358.     must have at least the size described in the BMHD of the anim
  359.     file.
  360.  
  361.     SEE ALSO
  362.     IFFL_IFFError()
  363.  
  364. iff.library/IFFL_OpenIFF                             iff.library/IFFL_OpenIFF
  365.  
  366.    NAME
  367.     IFFL_OpenIFF -- Open an IFF file for reading or writing
  368.  
  369.    SYNOPSIS
  370.     iff = IFFL_OpenIFF( filename, mode )
  371.     D0                  A0        D0
  372.  
  373.     IFFL_HANDLE IFFL_OpenIFF( char *, ULONG )
  374.  
  375.    FUNCTION
  376.     If mode == IFFL_MODE_READ:
  377.       This function opens a file on a disk and looks whether it's an IFF
  378.       file or not. If it is an IFF file, memory is allocated and the file
  379.       is read into memory.
  380.  
  381.          New for V22:
  382.          If xpkmaster.library is installed in your system, IFFL_OpenIFF()
  383.          will be able to read and decompress compressed IFF files, if they
  384.          use one of the xpk standard compression schemes.
  385.  
  386.     If mode == IFFL_MODE_WRITE:
  387.       Initializes an IFF file handle for writing. You may create chunks
  388.       with IFFL_PushChunk() and IFFL_PopChunk(), and you can write data
  389.       using the IFFL_WriteChunkBytes() routine.
  390.  
  391.    INPUTS
  392.     filename - Pointer to a null-terminated string
  393.     mode     - IFFL_MODE_READ:  Open file for reading
  394.                IFFL_MODE_WRITE: Open file for writing
  395.  
  396.    RESULT
  397.     iff - IFF handle. Making assumptions about the internal structure
  398.           of this handle is unwise, and may break in the future.
  399.           If this function fails, NULL will be returned, and you may
  400.           call IFFL_IFFError() to know the reason of the failure.
  401.  
  402.    SEE ALSO
  403.     IFFL_CloseIFF(), IFFL_PushChunk(), IFFL_PopChunk(),
  404.     IFFL_WriteChunkBytes(), IFFL_IFFError()
  405.  
  406.    BUGS
  407.     None known
  408.  
  409. iff.library/IFFL_PopChunk                           iff.library/IFFL_PopChunk
  410.  
  411.     NAME
  412.     IFFL_PopChunk -- Pop top context node off context stack.
  413.  
  414.     SYNOPSIS
  415.     success = IFFL_PopChunk( iff )
  416.     D0                       A0
  417.  
  418.     BOOL IFFL_PopChunk( IFFL_HANDLE )
  419.  
  420.     FUNCTION
  421.     Pops top context chunk and updates the file accordingly.
  422.     The function is normally called only for writing files and signals
  423.     the end of a chunk.
  424.  
  425.     INPUTS
  426.     iff - IFF handle
  427.  
  428.     RESULTS
  429.     Non-zero  if successful or 0 if not successful (call IFFL_IFFError()
  430.     to get an IFFL_ERROR_... error code.
  431.  
  432.     SEE ALSO
  433.     IFFL_PushChunk(), IFFL_WriteChunkBytes()
  434.  
  435. iff.library/IFFL_PushChunk                         iff.library/IFFL_PushChunk
  436.  
  437.     NAME
  438.     IFFL_PushChunk -- Push a new context node on the context stack.
  439.  
  440.     SYNOPSIS
  441.     success = IFFL_PushChunk( iff, type, id )
  442.     D0                        A0   D0    D1
  443.  
  444.     BOOL IFFL_PushChunk( IFFL_HANDLE, ULONG, ULONG )
  445.  
  446.     FUNCTION
  447.     Pushes a new context node on the context stack by reading it from the
  448.     stream if this is a read file, or by creating it from the passed
  449.     parameters if this is a write file.  Normally this function is only
  450.     called in write mode, where the type and id codes specify the new
  451.     chunk to create.  If this is a leaf chunk, i.e. a local chunk inside
  452.     a FORM or PROP chunk, then the type argument is ignored.
  453.  
  454.     INPUTS
  455.     iff  - IFF handle
  456.     type - chunk type specifier (ex. ILBM) (ignored for read mode or
  457.            leaf chunks).
  458.     id   - chunk id specifier (ex. CMAP) (ignored for read mode).
  459.  
  460.     RESULTS
  461.     Non-zero if successful or 0 if not successful (call IFFL_IFFError()
  462.     to get an IFFL_ERROR_... error code.
  463.  
  464.     NOTE
  465.        Currently, the level of nested FORMs is restricted to 7.
  466.  
  467.     SEE ALSO
  468.     IFFL_PopChunk(), IFFL_WriteChunkBytes()
  469.  
  470. iff.library/IFFL_SaveBitMap                       iff.library/IFFL_SaveBitMap
  471.  
  472.     NAME
  473.     IFFL_SaveBitMap -- save the planes of a BitMap as an IFF-file
  474.  
  475.     SYNOPSIS
  476.     result = IFFL_SaveBitMap( filename, bitmap, colortable, flags )
  477.     D0                        A0        A1      A2          D0
  478.  
  479.     BOOL IFFL_SaveBitMap(char *, struct BitMap *, UWORD *, ULONG )
  480.  
  481.     FUNCTION
  482.     Save the planes of a BitMap as an IFF-file, optionally with a
  483.     colortable. The IFF file will contain the following chunks:
  484.  
  485.     FORM  -  The IFF header, with the type ILBM
  486.     BMHD  -  The BitMap Header structre
  487.     CMAP  -  The color map, this chunk is omitted if colortable is zero
  488.     CAMG  -  The Amiga ViewModes word, contains the special ViewModes
  489.              information (HAM, LACE, HIRES ...)
  490.     BODY  -  The (crunched or uncompressed) picture
  491.  
  492.    INPUTS
  493.     filename    - Name of the IFF file to create
  494.     bitmap      - Pointer to the BitMap holding your picture
  495.     colortable  - Pointer to an Amiga ColorTable structure or zero
  496.                   (if colortable = 0, no CMAP chunk will be generated).
  497.     flags       - Bit 0: 1 = Use the "CmpByteRun1" compression algorythm,
  498.                          0 = Save the file uncompressed
  499.                       Bit 7: 1 = This is a HAM (Hold and modify) picture
  500.                          0 = This is a normal or Extra-Halfbrite picture
  501.  
  502.    RESULT
  503.     Non-zero if successful, 0 if an error occurred. You can then call
  504.     IFFL_IFFError() to know more about the reason of the failure.
  505.  
  506.    NOTE
  507.     Up to V19 this routine needs at least 650 bytes of stack space
  508.  
  509.    SEE ALSO
  510.     IFFL_SaveClip()
  511.  
  512. iff.library/IFFL_SaveClip                           iff.library/IFFL_SaveClip
  513.  
  514.     NAME
  515.     IFFL_SaveClip -- save a part of a BitMap as an IFF-file
  516.  
  517.     SYNOPSIS
  518.     result = IFFL_SaveClip
  519.     D0       ( filename, bitmap, coltab, flags, xoff, yoff, width, height )
  520.                A0        A1      A2      D0     D1    D2    D3     D4
  521.  
  522.     FUNCTION
  523.     Save a part of a BitMap as an IFF file
  524.  
  525.     INPUTS
  526.     filename    - Name of the IFF file to create
  527.     bitmap      - Pointer to the BitMap holding your picture
  528.     colortable  - Pointer to an Amiga ColorTable structure or zero
  529.                   (if colortable = 0, no CMAP chunk will be generated).
  530.     flags       - Bit 0: 1 = Use the "CmpByteRun1" compression algorythm,
  531.                          0 = Save the file uncompressed
  532.                      Bit 7: 1 = This is a HAM (Hold and modify) picture
  533.                          0 = This is a normal or Extra-Halfbrite picture
  534.     xoff        - X offset of the clip to be saved (bytes from the left)
  535.     yoff        - Y offset of the clip to be saved (lines from the top)
  536.     width       - width in bytes of the rectangle
  537.     height      - height in lines of the rectangle
  538.  
  539.     RESULTS
  540.     Non-zero if successful, 0 if an error occurred. You can then call
  541.     IFFL_IFFError() to know more about the reason of the failure.
  542.  
  543.     NOTE
  544.     Up to V19 this routine needs at least 650 bytes of stack space
  545.  
  546.     BUGS
  547.     The width of the rectangle will be truncated to WORD boundaries,
  548.     because DPAINT wants it!
  549.  
  550.     SEE ALSO
  551.     IFFL_SaveBitMap()
  552.  
  553. iff.library/IFFL_WriteChunkBytes             iff.library/IFFL_WriteChunkBytes
  554.  
  555.    NAME
  556.     IFFL_WriteChunkBytes -- Write data into the current chunk
  557.  
  558.    SYNOPSIS
  559.     success = IFFL_WriteChunkBytes( iff, buf, size )
  560.     D0                              A0   A1   D0
  561.  
  562.     LONG IFFL_WriteChunkBytes( IFFL_HANDLE, APTR, LONG )
  563.  
  564.    FUNCTION
  565.     Writes "size" bytes from the specified buffer into the current chunk.
  566.  
  567.    INPUTS
  568.     iff   - IFF file handle, from IFFL_OpenIFF().
  569.     buf   - pointer to buffer area with bytes to be written.
  570.     size  - number of bytes to write.
  571.  
  572.    RESULT
  573.     Non-NULL if the write was successful, or NULL if an error
  574.     occurred. Call IFFL_IFFError() to know what's going on.
  575.  
  576.    SEE ALSO
  577.     IFFL_PushChunk(), IFFL_PopChunk(), IFFL_IFFError()
  578.  
  579. iff.library/NewOpenIFF                                 iff.library/NewOpenIFF
  580.  
  581.    NAME
  582.     NewOpenIFF -- allocate memory for an IFF-file and read it
  583.  
  584.    SYNOPSIS
  585.     ifffile = NewOpenIFF( filename, memattr )
  586.     D0                    A0        D0
  587.  
  588.     IFFFILE OpenIFF( char * )
  589.  
  590.    FUNCTION
  591.     THIS FUNCTION IS OBSOLETE. USE IFFL_OpenIFF() INSTEAD.
  592.  
  593.    INPUTS
  594.     filename - Pointer to a null-terminated string
  595.     memattr  - Memory requirements as used for Exec's AllocMem(),
  596.                such as MEMF_CHIP, MEMF_PUBLIC ...
  597.                (MEMF_CLEAR is not necessary)
  598.  
  599.    RESULT
  600.     ifffile - 'FileHandle', points to the beginning of the IFF file
  601.     ("FORM...."), Zero if unsuccessful. Call IFFError() to get
  602.     the reason of the failure.
  603.  
  604.    SEE ALSO
  605.     IFFL_OpenIFF(), IFFL_CloseIFF(), IFFL_IFFError()
  606.  
  607.    BUGS
  608.     None known
  609.  
  610. iff.library/OpenIFF                                       iff.library/OpenIFF
  611.  
  612.     NAME
  613.     OpenIFF -- allocate memory for an IFF-file and read it
  614.  
  615.     SYNOPSIS
  616.     ifffile = OpenIFF( filename )
  617.     D0                 A0
  618.  
  619.     IFFFILE OpenIFF( char * )
  620.  
  621.     FUNCTION
  622.     THIS FUNCTION IS OBSOLETE. USE IFFL_OpenIFF() INSTEAD.
  623.  
  624.    INPUTS
  625.     filename - Pointer to a null-terminated string
  626.  
  627.    RESULT
  628.     ifffile - 'FileHandle', points to the beginning of the IFF file
  629.     ("FORM...."), 0 if unsuccessful. Call IFFError() to get the
  630.     reason of the failure.
  631.  
  632.    BUGS
  633.     None
  634.  
  635.    SEE ALSO
  636.     IFFL_OpenIFF(), IFFL_CloseIFF(), IFFL_IFFError()
  637.  
  638.